package com.erp.remote.workflow;

import com.erp.entity.workflow.SlipsTaskRequest;
import com.erp.util.AjaxResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 * @package: com.erp.remote.workflow
 * @className: WorkFlowRemote
 * @author: SHENYI
 * @description: TODO
 * @date: 2025/7/16 10:08
 * @version: 1.0
 */
@RequestMapping("/workflow")
public interface WorkFlowRemote {

    @PostMapping("/create_process_task")
    AjaxResult createProcessTask(@RequestBody SlipsTaskRequest slipsTaskRequest);

    /*
     * @description:
     * params必须put的参数 ======>
     * 1. key: taskId; value: 本次执行的任务Id(前端存储于Vuex中, 属性名称为: currentHandleProcessId)
     * 2. key: slipsType; value: 本次处理的单据类型(前端存储于Vuex中, 属性名称为: currentEditReceiptSlips)
     * 3. key: isApprove; value: 是否处理通过(0: 通过/ 1: 不通过)
     * 4. key: companyId; value: 公司Id
     * params可能put的参数 =====>
     * key: remark; value: 当操作驳回时, 传入的驳回理由;
     * 单据Id key/value自己传入使用
     * 单据编号 key/value自己传入使用
     * 其他所需参数 key/value自己传入使用
     * @author: SHENYI
     * @date: 2025/7/17
     * @param: [params]
     * @return: com.erp.util.AjaxResult
     */
    @PostMapping("/complete")
    AjaxResult completeTask(@RequestBody Map<String, Object> params);
}